/**
 * Accept-Encoding
 * 是浏览器发送给服务器，声明浏览器支持的编码类型
 */

//压缩

// var fs = require('fs');
// var zlib = require('zlib');
//
// var gzip = zlib.createGzip();
//
// var inFile = fs.createReadStream('./fs/hello.txt');
// var outFile = fs.createWriteStream('./fs/hello.txt.zip');
//
// inFile.pipe(gzip).pipe(outFile);


//解压

// var fs = require('fs');
// var zlib = require('zlib');
//
// var unzlib = zlib.createUnzip();
//
// var inFile = fs.createReadStream('./fs/hello.txt.zip');
// var outFile = fs.createWriteStream('./fs/unzlib.txt');
//
// inFile.pipe(unzlib).pipe(outFile);


//服务器端压缩(1)

// var fs = require('fs');
//
// var zlib = require('zlib');
//
// var http = require('http');
//
// var server = http.createServer((req, res) => {
//     var acceptEncoding = req.headers['accept-encoding'];
//
//
//     if (acceptEncoding.indexOf('gzip') != -1) {
//         res.writeHead(200, {
//             'Content-Encoding': 'gzip',
//             'Content-Type': 'text/html;charset=utf-8'
//         });
//         let gzib = zlib.createGzip();
//
//         fs.createReadStream("./fs/hello.txt").pipe(gzib).pipe(res);
//     } else {
//         fs.createReadStream("./fs/hello.txt").pipe(res);
//     }
//
// }).listen(8888);


//服务器端压缩(2)

var fs = require('fs');
var zlib = require('zlib');


var http = require('http');
http.createServer((req, res) => {
    let acceptEncoding = req.headers['accept-encoding'];

    res.setHeader('Content-Type', 'text/html;charset=utf-8');
    if (acceptEncoding.indexOf('gzip') != -1) {
        console.log('进来了');
        res.setHeader('Content-Encoding', 'gzip');
        res.end(zlib.gzipSync(fs.readFileSync('./fs/hello.txt')))
    } else {
        res.end(fs.readFileSync('./fs/hello.txt'));
    }

}).listen(8888);




